home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / etc / avahi / avahi-autoipd.action next >
Text File  |  2008-07-27  |  2KB  |  83 lines

  1. #!/bin/sh
  2.  
  3. # $Id$
  4. #
  5. # This file is part of avahi.
  6. # avahi is free software; you can redistribute it and/or modify it
  7. # under the terms of the GNU Lesser General Public License as
  8. # published by the Free Software Foundation; either version 2 of the
  9. # License, or (at your option) any later version.
  10. #
  11. # avahi is distributed in the hope that it will be useful, but WITHOUT
  12. # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  13. # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
  14. # License for more details.
  15. #
  16. # You should have received a copy of the GNU Lesser General Public
  17. # License along with avahi; if not, write to the Free Software
  18. # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
  19. # USA.
  20.  
  21. set -e
  22.  
  23. # Command line arguments:
  24. #   $1 event that happened:
  25. #          BIND:     Successfully claimed address
  26. #          CONFLICT: An IP address conflict happened
  27. #          UNBIND:   The IP address is no longer needed
  28. #          STOP:     The daemon is terminating
  29. #   $2 interface name
  30. #   $3 IP adddress
  31.  
  32. if [ -x /bin/ip -o -x /sbin/ip ] ; then
  33.  
  34.     # We have the Linux ip tool from the iproute package
  35.  
  36.     case "$1" in
  37.         BIND)
  38.             ip addr add "$3"/16 brd 169.254.255.255 label "$2:avahi" scope link dev "$2"
  39.             ip route add default dev "$2" metric 1000 scope link || true
  40.             ;;
  41.  
  42.         CONFLICT|UNBIND|STOP)
  43.             ip addr del "$3"/16 brd 169.254.255.255 label "$2:avahi" scope link dev "$2" 
  44.             ip route del default dev "$2" metric 1000 scope link || true
  45.             ;;
  46.  
  47.         *)
  48.             echo "Unknown event $1" >&2
  49.             exit 1
  50.             ;;
  51.     esac
  52.  
  53. elif [ -x /bin/ifconfig -o -x /sbin/ifconfig ] ; then
  54.  
  55.     # We have the old ifconfig tool
  56.  
  57.     case "$1" in
  58.         BIND)
  59.             ifconfig "$2:3" inet "$3" netmask 255.255.0.0 broadcast 169.254.255.255 up
  60.             route add default dev "$2:3" metric 1000 || true
  61.             ;;
  62.  
  63.         CONFLICT|STOP|UNBIND)
  64.             ifconfig "$2:3" down
  65.             route del default dev "$2:3" metric 1000 || true
  66.             ;;
  67.  
  68.         *)
  69.             echo "Unknown event $1" >&2
  70.             exit 1
  71.             ;;
  72.     esac
  73.  
  74. else
  75.  
  76.     echo "No network configuration tool found." >&2
  77.     exit 1
  78.  
  79. fi
  80.  
  81. exit 0
  82.